home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Entertainment / MacMud / Sockets / bug.c next >
Encoding:
C/C++ Source or Header  |  1989-08-27  |  1.7 KB  |  64 lines  |  [TEXT/MPS ]

  1. #include <stdio.h>
  2. #include <memory.h>
  3. #include <devices.h>
  4. #include <files.h>
  5.  
  6. #include <MacTCPCommonTypes.h>
  7. #include <UDPPB.h>
  8.  
  9. static ParamBlockRec fpb;
  10. static char ipdriver[6];
  11. static UDPiopb pb;
  12. static OSErr io;
  13. static char sendbuf[1024];
  14. static wdsEntry wds[2];
  15.  
  16. main()
  17. {
  18.     ipdriver[0] = 4;
  19.     ipdriver[1] = '.';
  20.     ipdriver[2] = 'i';
  21.     ipdriver[3] = 'p';
  22.     ipdriver[4] = 'p';
  23.     ipdriver[5] = 0;
  24.     fpb.ioParam.ioCompletion = 0L;
  25.     fpb.ioParam.ioNamePtr = ipdriver;
  26.     fpb.ioParam.ioPermssn = fsCurPerm;
  27.      fprintf(stderr,"about to PBOpen\n");
  28.     io = PBOpen(&fpb,false);
  29.     fprintf(stderr,"PBOpen completed code %d driver %d\n",io,fpb.ioParam.ioRefNum);
  30.     pb.ioCRefNum = fpb.ioParam.ioRefNum;
  31.         
  32.     pb.ioCompletion = 0L;
  33.     pb.csCode = UDPCreate;
  34.     pb.csParam.create.rcvBuff = NewPtr(8192);
  35.     pb.csParam.create.rcvBuffLen = 8192;
  36.     pb.csParam.create.notifyProc = 0L;
  37.     pb.csParam.create.localPort = 0;
  38.     pb.csParam.create.userDataPtr = "UDPCreate";
  39.      fprintf(stderr,"about to UDPCreate\n");
  40.      io = PBControl(&pb,false);
  41.     fprintf(stderr,"UDPCreate completed code %d udpStream %08x\n",io,pb.udpStream);
  42.  
  43.     strcpy(sendbuf,"HELO milligan.utcs.utoronto.ca");
  44.     wds[0].length = strlen(sendbuf);
  45.     wds[0].ptr = sendbuf;
  46.     wds[1].length = 0;
  47.     pb.csCode = UDPWrite;
  48.     pb.csParam.send.remoteHost = 0x8064660a;
  49.     pb.csParam.send.remotePort = 69;
  50.     pb.csParam.send.wdsPtr = &wds[0];
  51.     pb.csParam.send.checkSum = true;
  52.     pb.csParam.send.sendLength = 0/* must be zero */;
  53.     pb.csParam.send.userDataPtr = "xUDPWrite";
  54.      fprintf(stderr,"about to UDPWrite\n");
  55.      io = PBControl(&pb,false);
  56.     fprintf(stderr,"UDPWrite completed code %d\n",io);
  57.  
  58.     pb.csCode = UDPRelease;
  59.     fprintf(stderr,"about to UDPRelease\n");
  60.      io = PBControl((&pb),false);
  61.      fprintf(stderr,"UDPRelease done code %d\n",io);
  62.     DisposPtr(pb.csParam.create.rcvBuff);
  63. }
  64.